Listin Gambas2

Création d'un programme en Gambas2 : un répertoire téléphonique pas à pas

Origine : http://listingambas.blogspot.com/2011/06/boton-aceptar-evento-add.html


Bouton Accepter : Ajouter un événement ().

Nous avons cliqué sur le bouton accepter : c'est que nous avons réellement besoin d'ajouter les informations au tableau.
Cela se fait avec l'événement Ajouter () :


PUBLIC SUB ButtonAcepter_Click()
'on ajoute les données à la grille
var.id.add("Id" & Str$(Now))
var.dni.add(TextBoxDNI.text)
var.nom.add(TextBoxNom.Text)
var.prenoms.add(TextBoxPrenoms.Text)
var.entreprise.add(TextBoxEntreprise.Text)
var.poste.add(TextBoxPoste.Text)
var.tel_entreprise.add(TextBoxTelEntreprise.Text)
var.tel_perso.add(TextBoxTelPerso.text)
var.fax.add(TextBoxFax.Text)
var.mobile_entreprise.add(TextBoxMobileEntreprise.Text)
var.mobile_perso.add(TextBoxMobilePerso.Text)
var.page.add(TextBoxWEB.Text)
'Dans photo on enregistre le chemin vers la photo
var.Photo.add(var.CheminPhoto)
var.adresse.add(TextBoxAdresse.Text)
var.Comments.add(TextBoxComments.Text)
var.Date_donnees.add(TextBoxDate.Text)
var.Mail.Add(TextBoxMail.Text)

'On remet à vide la propriété  .text des texboxes
TextBoxDNI.text = ""
TextBoxNom.text = ""
TextBoxPrenoms.text = ""
TextBoxEntreprise.text = ""
TextBoxPoste.text = ""
TextBoxTelEntreprise.text = ""
TextBoxTelPerso.text = ""
TextBoxFax.text = ""
TextBoxMobileEntreprise.text = ""
TextBoxMobilePerso.text = ""
TextBoxWEB.text = ""
PictureBoxPhoto.Picture = ""
TextBoxAdresse.text = ""
TextBoxComments.text = ""
TextBoxDate.text = ""
TextBoxMail.text = ""
'On écrit dans la gridview les données saisies
titre.remplir()
'  Une fois clické le bouton accepter , on met le focus au début des données
TextBoxDNI.SetFocus
END

Et pour remplir notre gridviews avec les données saisies
, nous allons appeler une routine dans le module titre : remplir

PUBLIC SUB remplir()
DIM a AS Integer
FMain.GridViewDonnees.Rows.COUNT = var.id.COUNT
FOR a = 0 TO var.id.COUNT - 1
WITH FMain
.GridViewDatos[a, 0].Picture = Picture[var.Photo[a]]
.GridViewDatos[a, 1].text = var.nom[a]
.GridViewDatos[a, 2].text = var.prenoms[a]
.GridViewDatos[a, 3].text = var.dni[a]
.GridViewDatos[a, 4].text = var.entreprise[a]
.GridViewDatos[a, 5].text = var.poste[a]
.GridViewDatos[a, 6].text = var.tel_entreprise[a]
.GridViewDatos[a, 7].text = var.mobile_entreprise[a]
.GridViewDatos[a, 8].text = var.tel_perso[a]
.GridViewDatos[a, 9].text = var.mobile_perso[a]
.GridViewDatos[a, 10].text = var.fax[a]
.GridViewDatos[a, 11].text = var.mail[a]
.GridViewDatos[a, 12].text = var.page[a]
.GridViewDatos[a, 13].text = var.adresse[a]
.GridViewDatos[a, 14].text = var.comments[a]
.GridViewDatos[a, 15].text = var.date_donnees[a]
END WITH
NEXT
FMain.GridViewDonnees.Refresh
END

Remarques sur ce code:
1. Nous avons besoin de définir une variable "a" qui assurera l'incrémentation dans la boucle For-Next
Nous utilisons
Dim a as integer

2.
Le nombre de lignes est égal au nombre de données existantes.
FMain. GridViewDonnees . Rows . COUNT = var. id . COUNT

3. 
For – Next : comme nous avons commencé à partir de "0" COUNT est diminué de un.
FOR a = 0 TO var. id . COUNT - 1
De cette manière on remplit autant de lignes que nous avons de données  (property. COUNT)

4.WITH – END WITH : nous évitons d'écrir chaque fois fmain!

5. Une fois définies, nous devons également réactualiser les données de gridviewDonnees.
ça se fait tout seul normalement, mais on ne sait jamais, le mieux est de forcer le rafraîchissement :
Fmain.GridViewDonnees . Refresh